Big data is a broad term for data sets that are large and/or complex, and often traditional data processing applications are inadequate for processing the data sets. Challenges often include analysis, capture, data curation, search, sharing, storage, transfer, visualization, querying, etc. Analyzing the large data sets may be important for numerous software applications. One general approach to analyzing datasets, called clustering, involves segmenting the data into groups, or clusters, based on similarities and differences within the data.